"""
工具使用演示

这个示例展示了 Agent 如何使用各种工具：
1. 计算器工具
2. 搜索工具  
3. 文件系统工具
"""

import asyncio
import sys
from pathlib import Path

# 添加项目根目录到路径
sys.path.insert(0, str(Path(__file__).parent.parent))

from agent.core import Agent, AgentConfig
from rich.console import Console


async def tool_usage_demo():
    """工具使用演示"""
    console = Console()
    
    console.print("🛠️ 工具使用演示\n", style="bold cyan")
    
    # 创建 Agent
    config = AgentConfig(
        name="ToolAgent",
        verbose=True
    )
    agent = Agent(config)
    
    # 工具使用示例
    tool_examples = [
        "计算 123 + 456 * 7",
        "计算 sqrt(144) + 2^3",
        "搜索 Python 编程最佳实践",
        "搜索 AI Agent 开发教程",
        "创建一个测试文件 test.txt，内容是 'Hello World'",
        "读取刚才创建的 test.txt 文件",
        "列出当前目录的文件"
    ]
    
    for i, example in enumerate(tool_examples, 1):
        console.print(f"\n[{i}] 测试: {example}", style="blue")
        
        response = await agent.process_input(example)
        console.print(f"[{i}] 结果: {response}", style="green")
        
        # 停顿以便观察
        await asyncio.sleep(1.5)
    
    console.print("\n✅ 工具使用演示完成", style="bold green")


if __name__ == "__main__":
    asyncio.run(tool_usage_demo())